// import com.alibaba.druid.DbType;
// import com.alibaba.druid.sql.SQLUtils;
// import com.alibaba.druid.sql.ast.SQLExpr_ptr;
// import com.alibaba.druid.sql.ast.SQLName_ptr;
// import com.alibaba.druid.sql.ast.SQLObject;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.ast.expr.SQLCharExpr;
// import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
// import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "../SQLStatementImpl.h"
#include "SQLCreateStatement.h"

class SQLCreateTableGroupStatement 
: virtual public SQLStatementImpl,
 virtual public SQLCreateStatement
{
public:
  SQLName_ptr name;
  BOOL_ptr ifNotExists;
  SQLExpr_ptr partitionNum;

  SQLCreateTableGroupStatement();

  SQLCreateTableGroupStatement(DbType_ptr dbType);
  SHAREDOBJECT(SQLCreateTableGroupStatement);

  string_ptr getSchemaName();

  void setSchemaName(string_ptr name);

  string_ptr getTableGroupName();

  SQLExpr_ptr getPartitionNum();

  void setPartitionNum(SQLExpr_ptr x);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  // @Override
  SQLObject_list_ptr getChildren();

  SQLName_ptr getName();

  void setName(SQLName_ptr name);

  BOOL_ptr isIfNotExists();

  void setIfNotExists(BOOL_ptr ifNotExists);
};
